home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 13.9 KB | 379 lines | [TEXT/MPS ] |
- (*
- File: Editions.mod
-
- Contains: Edition Manager Interfaces.
-
- Version: Technology: System 7.5
- Package: Universal Interfaces 2.0 in “MPW Latest” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE Editions;
-
- IMPORT SYSTEM, Types, Memory, Files, Aliases, Events, Dialogs;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
-
- CONST
- (* resource types *)
- rSectionType* = LONG("sect"); (* Types.ResType of saved SectionRecords *)
- (* Finder types for edition files *)
- kPICTEditionFileType* = LONG("edtp");
- kTEXTEditionFileType* = LONG("edtt");
- ksndEditionFileType* = LONG("edts");
- kUnknownEditionFileType* = LONG("edtu");
- kPublisherDocAliasFormat* = LONG("alis");
- kPreviewFormat* = LONG("prvw");
- kFormatListFormat* = LONG("fmts");
-
- (* section types *)
- stSubscriber* = $01;
- stPublisher* = $0A;
- sumAutomatic* = 0; (* subscriber update mode - Automatically *)
- sumManual* = 1; (* subscriber update mode - Manually *)
- pumOnSave* = 0; (* publisher update mode - OnSave *)
- pumManual* = 1; (* publisher update mode - Manually *)
- kPartsNotUsed* = 0;
- kPartNumberUnknown* = -1; (* misc *)
- kPreviewWidth* = 120;
- kPreviewHeight* = 120;
- (* bits for formatsMask *)
- kPICTformatMask* = 1;
- kTEXTformatMask* = 2;
- ksndFormatMask* = 4;
- (* pseudo-item hits for dialogHooks
- the first if for NewPublisher or NewSubscriber Dialogs *)
- emHookRedrawPreview* = 150;
- (* the following are for SectionOptions Dialog *)
- emHookCancelSection* = 160;
- emHookGoToPublisher* = 161;
- emHookGetEditionNow* = 162;
- emHookSendEditionNow* = 162;
- emHookManualUpdateMode* = 163;
- emHookAutoUpdateMode* = 164;
-
- (* the refcon field of the dialog record during a modalfilter
- or dialoghook contains one the following *)
- emOptionsDialogRefCon* = LONG("optn");
- emCancelSectionDialogRefCon* = LONG("cncl");
- emGoToPubErrDialogRefCon* = LONG("gerr");
- kFormatLengthUnknown* = -1;
-
- (* one byte, stSubscriber or stPublisher *)
-
- TYPE
- SectionType* = Types.SignedByte;
-
- (* seconds since 1904 *)
- TimeStamp* = LONGINT;
-
- (* similar to Types.ResType *)
- FormatType* = Types.FourCharCode;
-
- (* used in Edition I/O *)
- EditionRefNum* = Types.Handle;
-
- (* update modes *)
- (* sumAutomatic, pumSuspend, etc *)
- UpdateMode* = INTEGER;
-
- SectionPtr* = POINTER TO SectionRecord;
- SectionHandle* = HANDLE TO SectionRecord (*ΔΔ POINTER TO SectionPtr*);
-
- SectionRecord* = RECORD
- version*: Types.SignedByte; (* always 0x01 in system 7.0 *)
- kind*: SectionType; (* stSubscriber or stPublisher *)
- mode*: UpdateMode; (* auto or manual *)
- mdDate*: TimeStamp; (* last change in document *)
- sectionID*: LONGINT; (* app. specific, unique per document *)
- refCon*: LONGINT; (* application specific *)
- alias*: Aliases.AliasHandle; (* handle to Alias Record *)
- subPart*: LONGINT; (* which part of container file *)
- nextSection*: SectionHandle; (* for linked list of app's Sections *)
- controlBlock*: Types.Handle; (* used internally *)
- refNum*: EditionRefNum; (* used internally *)
- END;
-
- EditionContainerSpec* = RECORD
- theFile*: Files.FSSpec;
- theFileScript*: Types.ScriptCode;
- thePart*: LONGINT;
- thePartName*: Types.Str31;
- thePartScript*: Types.ScriptCode;
- END;
-
- EditionContainerSpecPtr* = POINTER TO EditionContainerSpec;
-
- EditionInfoRecord* = RECORD
- crDate*: TimeStamp; (* date EditionContainer was created *)
- mdDate*: TimeStamp; (* date of last change *)
- fdCreator*: Types.OSType; (* file creator *)
- fdType*: Types.OSType; (* file type *)
- container*: EditionContainerSpec; (* the Edition *)
- END;
-
- NewPublisherReply* = RECORD
- canceled*: BOOLEAN; (* O *)
- replacing*: BOOLEAN;
- usePart*: BOOLEAN; (* I *)
- filler*: Types.SInt8;
- preview*: Types.Handle; (* I *)
- previewFormat*: FormatType; (* I *)
- container*: EditionContainerSpec; (* I/O *)
- END;
-
- NewSubscriberReply* = RECORD
- canceled*: BOOLEAN; (* O *)
- formatsMask*: Types.SignedByte;
- container*: EditionContainerSpec; (*I/O*)
- END;
-
- SectionOptionsReply* = RECORD
- canceled*: BOOLEAN; (* O *)
- changed*: BOOLEAN; (* O *)
- sectionH*: SectionHandle; (* I *)
- action*: Types.ResType; (* O *)
- END;
-
- ExpModalFilterProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (theDialog: Dialogs.DialogPtr; VAR theEvent: Events.EventRecord; itemOffset: INTEGER; VAR itemHit: INTEGER; yourDataPtr: Types.Ptr): BOOLEAN;
- ExpDlgHookProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (itemOffset: INTEGER; itemHit: INTEGER; theDialog: Dialogs.DialogPtr; yourDataPtr: Types.Ptr): INTEGER;
- ExpModalFilterUPP* = Types.UniversalProcPtr;
- ExpDlgHookUPP* = Types.UniversalProcPtr;
-
- CONST
- uppExpModalFilterProcInfo* = $0000FBD0; (* PROCEDURE (4 byte param, 4 byte param, 2 byte param, 4 byte param, 4 byte param): 1 byte result; *)
- uppExpDlgHookProcInfo* = $00003EA0; (* PROCEDURE (2 byte param, 2 byte param, 4 byte param, 4 byte param): 2 byte result; *)
-
- PROCEDURE NewExpModalFilterProc*(userRoutine: ExpModalFilterProcPtr): ExpModalFilterUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewExpDlgHookProc*(userRoutine: ExpDlgHookProcPtr): ExpDlgHookUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE CallExpModalFilterProc*(theDialog: Dialogs.DialogPtr; VAR theEvent: Events.EventRecord; itemOffset: INTEGER; VAR itemHit: INTEGER; yourDataPtr: Types.Ptr; userRoutine: ExpModalFilterUPP): BOOLEAN;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallExpDlgHookProc*(itemOffset: INTEGER; itemHit: INTEGER; theDialog: Dialogs.DialogPtr; yourDataPtr: Types.Ptr; userRoutine: ExpDlgHookUPP): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- CONST
- ioHasFormat* = 0;
- ioReadFormat* = 1;
- ioNewFormat* = 2;
- ioWriteFormat* = 3;
-
-
- TYPE
- FormatIOVerb* = Types.SignedByte;
-
-
- CONST
- eoOpen* = 0;
- eoClose* = 1;
- eoOpenNew* = 2;
- eoCloseNew* = 3;
- eoCanSubscribe* = 4;
-
-
- TYPE
- EditionOpenerVerb* = Types.SignedByte;
-
- FormatIOParamBlock* = RECORD
- ioRefNum*: LONGINT;
- format*: FormatType;
- formatIndex*: LONGINT;
- offset*: LONGINT;
- buffPtr*: Types.Ptr;
- buffLen*: LONGINT;
- END;
-
- FormatIOProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (selector: Types.ByteParameter; VAR PB: FormatIOParamBlock): INTEGER;
- FormatIOUPP* = Types.UniversalProcPtr;
-
- EditionOpenerParamBlock* = RECORD
- info*: EditionInfoRecord;
- sectionH*: SectionHandle;
- document*: POINTER TO Files.FSSpec;
- fdCreator*: Types.OSType;
- ioRefNum*: LONGINT;
- ioProc*: FormatIOUPP;
- success*: BOOLEAN;
- formatsMask*: Types.SignedByte;
- END;
-
- EditionOpenerProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (selector: Types.ByteParameter; VAR PB: EditionOpenerParamBlock): INTEGER;
- EditionOpenerUPP* = Types.UniversalProcPtr;
-
- CONST
- uppFormatIOProcInfo* = $00000360; (* PROCEDURE (1 byte param, 4 byte param): 2 byte result; *)
- uppEditionOpenerProcInfo* = $00000360; (* PROCEDURE (1 byte param, 4 byte param): 2 byte result; *)
-
- PROCEDURE NewFormatIOProc*(userRoutine: FormatIOProcPtr): FormatIOUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewEditionOpenerProc*(userRoutine: EditionOpenerProcPtr): EditionOpenerUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- CONST
- sectionEventMsgClass* = LONG("sect");
- sectionReadMsgID* = LONG("read");
- sectionWriteMsgID* = LONG("writ");
- sectionScrollMsgID* = LONG("scrl");
- sectionCancelMsgID* = LONG("cncl");
-
- currentEditionMgrVers* = $0011;
-
- (* Use InitEditionPackVersion(currentEditionMgrVers) instead of InitEditionPack *)
-
- PROCEDURE InitEditionPackVersion*(curEditionMgrVers: INTEGER): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0100, $A82D;
- (*$END*)
- PROCEDURE NewSection*((*CONST*)VAR container: EditionContainerSpec; sectionDocument: Files.ConstFSSpecPtr; kind: Types.ByteParameter; sectionID: LONGINT; initalMode: UpdateMode; VAR sectionH: SectionHandle): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0A02, $A82D;
- (*$END*)
- PROCEDURE RegisterSection*((*CONST*)VAR sectionDocument: Files.FSSpec; sectionH: SectionHandle; VAR aliasWasUpdated: BOOLEAN): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0604, $A82D;
- (*$END*)
- PROCEDURE UnRegisterSection*(sectionH: SectionHandle): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0206, $A82D;
- (*$END*)
- PROCEDURE IsRegisteredSection*(sectionH: SectionHandle): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0208, $A82D;
- (*$END*)
- PROCEDURE AssociateSection*(sectionH: SectionHandle; (*CONST*)VAR newSectionDocument: Files.FSSpec): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $040C, $A82D;
- (*$END*)
- PROCEDURE CreateEditionContainerFile*((*CONST*)VAR editionFile: Files.FSSpec; fdCreator: Types.OSType; editionFileNameScript: Types.ScriptCode): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $050E, $A82D;
- (*$END*)
- PROCEDURE DeleteEditionContainerFile*((*CONST*)VAR editionFile: Files.FSSpec): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0210, $A82D;
- (*$END*)
- PROCEDURE OpenEdition*(subscriberSectionH: SectionHandle; VAR refNum: EditionRefNum): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0412, $A82D;
- (*$END*)
- PROCEDURE OpenNewEdition*(publisherSectionH: SectionHandle; fdCreator: Types.OSType; publisherSectionDocument: Files.ConstFSSpecPtr; VAR refNum: EditionRefNum): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0814, $A82D;
- (*$END*)
- PROCEDURE CloseEdition*(whichEdition: EditionRefNum; successful: BOOLEAN): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0316, $A82D;
- (*$END*)
- PROCEDURE EditionHasFormat*(whichEdition: EditionRefNum; whichFormat: FormatType; VAR formatSize: Memory.Size): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0618, $A82D;
- (*$END*)
- PROCEDURE ReadEdition*(whichEdition: EditionRefNum; whichFormat: FormatType; buffPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; VAR buffLen: Memory.Size): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $081A, $A82D;
- (*$END*)
- PROCEDURE WriteEdition*(whichEdition: EditionRefNum; whichFormat: FormatType; buffPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; buffLen: Memory.Size): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $081C, $A82D;
- (*$END*)
- PROCEDURE GetEditionFormatMark*(whichEdition: EditionRefNum; whichFormat: FormatType; VAR currentMark: LONGINT): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $061E, $A82D;
- (*$END*)
- PROCEDURE SetEditionFormatMark*(whichEdition: EditionRefNum; whichFormat: FormatType; setMarkTo: LONGINT): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0620, $A82D;
- (*$END*)
- PROCEDURE GetEditionInfo*(sectionH: SectionHandle; VAR editionInfo: EditionInfoRecord): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0422, $A82D;
- (*$END*)
- PROCEDURE GoToPublisherSection*((*CONST*)VAR container: EditionContainerSpec): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0224, $A82D;
- (*$END*)
- PROCEDURE GetLastEditionContainerUsed*(VAR container: EditionContainerSpec): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0226, $A82D;
- (*$END*)
- PROCEDURE GetStandardFormats*((*CONST*)VAR container: EditionContainerSpec; VAR previewFormat: FormatType; preview: Types.Handle; publisherAlias: Types.Handle; formats: Types.Handle): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0A28, $A82D;
- (*$END*)
- PROCEDURE GetEditionOpenerProc*(VAR opener: EditionOpenerUPP): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $022A, $A82D;
- (*$END*)
- PROCEDURE SetEditionOpenerProc*(opener: EditionOpenerUPP): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $022C, $A82D;
- (*$END*)
- PROCEDURE CallEditionOpenerProc*(selector: Types.ByteParameter; VAR PB: EditionOpenerParamBlock; routine: EditionOpenerUPP): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $052E, $A82D;
- (*$END*)
- PROCEDURE CallFormatIOProc*(selector: Types.ByteParameter; VAR PB: FormatIOParamBlock; routine: FormatIOUPP): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0530, $A82D;
- (*$END*)
- PROCEDURE NewSubscriberDialog*(VAR reply: NewSubscriberReply): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0232, $A82D;
- (*$END*)
- PROCEDURE NewSubscriberExpDialog*(VAR reply: NewSubscriberReply; where: Types.Point; expansionDITLresID: INTEGER; dlgHook: ExpDlgHookUPP; filter: ExpModalFilterUPP; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0B34, $A82D;
- (*$END*)
- PROCEDURE NewPublisherDialog*(VAR reply: NewPublisherReply): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0236, $A82D;
- (*$END*)
- PROCEDURE NewPublisherExpDialog*(VAR reply: NewPublisherReply; where: Types.Point; expansionDITLresID: INTEGER; dlgHook: ExpDlgHookUPP; filter: ExpModalFilterUPP; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0B38, $A82D;
- (*$END*)
- PROCEDURE SectionOptionsDialog*(VAR reply: SectionOptionsReply): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $023A, $A82D;
- (*$END*)
- PROCEDURE SectionOptionsExpDialog*(VAR reply: SectionOptionsReply; where: Types.Point; expansionDITLresID: INTEGER; dlgHook: ExpDlgHookUPP; filter: ExpModalFilterUPP; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $303C, $0B3C, $A82D;
- (*$END*)
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END Editions.
-
-